Updating Firmware or Software of the Reader

Fixed Reader

The reader allows to update software includes the OS, applications from the given FTP Server location. If supported by Reader, the API also supports the “push model” software update, which allows updating software from non-FTP locations also. This is currently supported on FX 7400 Version 1.1.0 and higher. The following snippet shows setting of update location from local D: drive.

// create Reader management object instance

ReaderManagement rm = new ReaderManagement();

 

LoginInfo loginfo = new LoginInfo("157.235.208.172", "admin", "change", SECURE_MODE.HTTP, true);

 

// Login operation

try

{

     rm.Login(loginInfo, READER_TYPE.FX);

}

catch (OperationFailureException ex)

{

     System.out.println("Login Failed " + ex.getStatusDescription() + ex.getVendorMessage());

}

 The method rm.SoftwareUpdate.Update helps to perform the software update functionality.

Hand held reader

The reader radio firmware can be updated using rm.RadioFirmwareUpdate.Update method. The reader radio config (OEM) data can be updated using rm.RadioConfigUpdate.Update method.

The firmware or software update progress status can be queried by calling function getUpdateStatus of class SoftwareUpdate, RadioFirmwareUpdate and RadioConfigUpdate which gives which gives the percentage of upload completed along with additional information like partition name and/or details of operation in progress at reader.

// Reader software update from FTP location

try

{

     SoftwareUpdateInfo ftpServerInfo = new SoftwareUpdateInfo();

     ftpServerInfo.HostName = @"ftp://157.235.88.198/pub/XR400/TestRelease/Rev_3_3_7";

     ftpServerInfo.UserName = "admin";

     ftpServerInfo.Password = "admin";

     rm.getSoftwareUpdate().Update(ftpServerInfo);

      

     UpdateStatus updateStatus;

     while (true)

     {

          updateStatus = rm.getSoftwareUpdate().getUpdateStatus();

          System.out.println("UpdateSoftware.GetUpdateStatus is " + updateStatus.Percentage.ToString());

           

          if (updateStatus.Percentage == 100)

                   break;

     }

}

catch (OperationFailureException exception)

{

     System.out.println("UpdateSoftware failed " + ex.getStatusDescription() + ex.getVendorMessage());

}